package com.sas.utils;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.lang.StringUtils;

public class NormalizacaoUtils {

	public Map<String, List<String>> normalizacao(String qualificacaobd,
			String especialidadebd) {

		String especialidade = qualificacaobd.replaceAll(" ", "");

		String descricao = null;
		try {

			descricao = especialidadebd.replaceAll(" ", "");

		} catch (NullPointerException e) {

			descricao = new String("00000");
		}

		String[] especialidadeSplit = especialidade.split(";");

		String[] descricaoSplit = null;

		try {

			descricaoSplit = descricao.split(";");

		} catch (NullPointerException e) {

			descricaoSplit = new String[] { "00000" };
		}

		Map<String, List<String>> normalizacao = new HashMap<String, List<String>>();

		for (int i = 0; i < especialidadeSplit.length; i++) {
			String especialidadeChave = especialidadeSplit[i].replaceAll(":", "");

			if (especialidadeChave == null) {
				continue;
			}
			String[] descricaoConteudo = null;

			try {
				descricaoConteudo = descricaoSplit[i].split("\\|");
			} catch (ArrayIndexOutOfBoundsException e) {
				descricaoConteudo = new String[] { "00000" };
			}

			List<String> listaDescricaoConteudo = new ArrayList<String>();

			for (String string : descricaoConteudo) {
				listaDescricaoConteudo.add(StringUtils.leftPad(
						string.replaceAll(":", ""), 5, "0"));
			}
			
	
			if(!especialidadeChave.equals("")){
				 String espec = StringUtils.rightPad(
						especialidadeChave, 5, " ");
			normalizacao.put(espec, listaDescricaoConteudo);
			}

		}
		return normalizacao;

	}

}
